![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.09.2007 Skąd: Lubelskie Ostrzeżenie: (0%) ![]() ![]() |
Witam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Chciałbym zrobic plan lekcji w php (dla gimnazjum) - mozliwość dodawania klas i zmiany planu poprzez panel admina. I nie wiem jak go zaprojektowac ;/ tzn. co dać w bazie i na jakiej zasadzie go zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Może ktoś juz cos takiego robił (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobił troszkę wiejskim sposobem, ale możliwie chyba najlepszym. Jedna tabela, o kolumnach:
Klasa Poniedziałek Wtorek... itd. W każdej kolumnie dotyczącej dnia masz odddzielone na przykład średnikami lekcje danej klasy, i formatujesz w PHP. Dla dużych projektów to niestosowne i musiałbyś pokombinować nad lepszą strukturą, ale tutaj powinno wystarczyć. Pozdrawiam i życzę powodzenia... P.S. Jak ktoś ma lepszy pomysł, to mnie uświadomcie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował Hazel 12.10.2007, 19:53:56 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.09.2007 Skąd: Lubelskie Ostrzeżenie: (0%) ![]() ![]() |
hmm ale w jednym dniu jest kilka lekcji ;/
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Hazel) W każdej kolumnie dotyczącej dnia masz odddzielone na przykład średnikami lekcje danej klasy, i formatujesz w PHP Hm, coś niejasno napisałem? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.09.2007 Skąd: Lubelskie Ostrzeżenie: (0%) ![]() ![]() |
sorqa ;/ nie zaczaiłem.
a jakis inny sposób (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) coś bardziej elastycznego (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 1 Dołączył: 21.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tworzysz tabele z id każdej klasy i nazwą lub czym tam jeszcze chcesz.
A następnie 5 tabel z nazwami dni tygodnia. Np Poniedziałek Id klasy . lekcja1. Lekcja2. lekcja 3 itp I potem formatujesz sobie w php. |
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 399 Pomógł: 7 Dołączył: 11.06.2007 Skąd: Poznan Ostrzeżenie: (20%) ![]() ![]() |
napisałem coś takiego ostatnio tylko ze do jednej klasy jakby Cię interesowało to daj z nać
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tworzysz tabele z id każdej klasy i nazwą lub czym tam jeszcze chcesz. A następnie 5 tabel z nazwami dni tygodnia. (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) To już mój wiejski sposób lepszy... Bo masz jedną tabelę zamiast wielu, a formatować w php i tak musisz... @Piotrwusek no jemu chodzi o wiele klas, jak dla jednej to żaden problem chyba... |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie najlepszym rozwiązaniem bazy danych dla planu lekcji jest następujący ( podaje tylko główne pola w tabelach, zawsze można każdą tabelę rozbudować )
Tabela : przedmioty: id - INT auto_increment, nazwa - varchar Tabela : klasy: id - INT auto_increment, nazwa - varchar Tabela : nauczyciel: id - INT auto_increment, nazwisko - varchar, imie - varchar Tabela : plan: id - INT auto_increment, id_przedmiot - INT ( klucz obcy ), id_klasa - INT ( klucz obcy ), id_nauczyciel - INT ( klucz obcy ), dzien - INT ( np znacznik dnia ( np. 0-6 zwracany przez PHP )) godzina - ( pole jak kto woli, albo int albo varchar do zapisu startu lekcji ) Można to jeszcze uzupełnić o tabelę łączącą nauczycieli z przedmiotami: Tabela : nauczyciel_przedmiot: id - INT auto_increment, id_przedmiot - INT (klucz obcy), id_nauczyciel - INT (klucz obcy) wtedy w tabeli plan pola id_przedmiot i id_nauczyciel można zastąpić id_nauczyciel_przedmiot. Układ taki pozwala na pełną elastyczność zmian oraz rozszerzeń planu na więcej nauczycieli, przedmiotów i klas. @Hazel skoro uważasz, że jedna tabela jest lepsza od wielu ... bo i tak obrabiasz w PHP ... to czas może zacząć sprawdzać jakie korzyści daje więcej tabel (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
nie, nie, nie.
Jedna tabela na pewno nie jest lepsza od wielu. Weź przestań (IMG:http://forum.php.pl/style_emoticons/default/ph34r.gif) Chodziło mi o to, że jedna tabela jest lepsza od kilku, jeśli mam mieć w jednej tabeli przedmioty oddzielone średnikami, albo w kilku tabelach to samo, to wolę już mieć jedną, bo formatowac i tak muszę. I nie wkopuj mnie w sprawy typu (może warto zapoznać się wreszcie z instrukcją echo?). A Twój pomysł jest najlepszy spośród tych trzech rzuconych, bo nie trzeba wartości pola pobranego z bazy rozbijać według średników albo innych separatorów. I mimo że struktura dość skomplikowana, to faktycznie bardzo mi się podoba, gratuluję. |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
A Twój pomysł jest najlepszy spośród tych trzech rzuconych, bo nie trzeba wartości pola pobranego z bazy rozbijać według średników albo innych separatorów. I mimo że struktura dość skomplikowana, to faktycznie bardzo mi się podoba, gratuluję. Powiedziałbym więcej: jest to jedyny właściwy i poprawny sposób spośród tych podanych. Pozostałe to pełna amatorszczyzna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie spamując zbytnio, dopiszę tylko, że masz zupełną rację, a przyznać Wam ją muszę w ramach kary za brak myślenia w poprzednim poście - bo jakbym pomyślał, sam bym wygłówkował. Pozdrawiam.
|
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Podstawowe tabele, których będziesz potrzebował to:
Na koniec najważniejsza tabela: Plan_zajec. W zasadzie wystarczy w tej tabeli zamieścić jako klucze obce wartości kluczy podstawowych z czterech pierwszych tabel i identyfikator dnia. Warto zadbać o integralność danych i przed dodawaniem czegoś do tej tabeli sprawdzić relacje (po to zostały one stworzone). To chyba wszystko, co potrzebujesz do stworzenia bazy danych. Wiedz jednak, że porywasz się z motyką na słońce. Aplikacja taka to nie jest takie hop-siup. Jeśli będziesz układał ten plan ręcznie, to jeszcze pół biedy, jednak jeśli chcesz generować ten plan automatycznie, to szczerze życzę powodzenia. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 288 Pomógł: 12 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
U mnie to wygląda w ten sposób:
http://samorzad.8lo.pl/schemex.php jedna tabela klasy, druga dni, trzecia godziny, czwarta lekcje zajęcia wpisuje się ręcznie, panel wygląda tak: (IMG:http://img132.imageshack.us/img132/32/asdfsw1.th.png) (IMG:http://img132.imageshack.us/img132/2132/asdffi6.th.png) Tabel nie będę rozpisywał, bo mi się nie chce;x |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 21:52 |